home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu332 / 332src.arc / RESETV.SA < prev   
Text File  |  1990-05-02  |  26KB  |  496 lines

  1.  
  2. ** Set checksum at "CHECKVAL" below! **
  3.  
  4.          TTL       Reset Vector and Code Size
  5.          OPT       P=68332
  6. ******************************************************************************
  7. ** Exported portion                                                        ***
  8. *V****************************************************************************
  9. ***                                                                        ***
  10. ***   MODULE:                                                              ***
  11. ***     RESETV - This module contains the reset vector for the system.     ***
  12. ***              It also includes a longword that contains the size of     ***
  13. ***              the code segment in bytes and all of the user custom-     ***
  14. ***              ization parameters.                                       ***
  15. ***                                                                        ***
  16. ***   ENVIRONMENT:                                                         ***
  17. ***     MC68332 BCC EVM system                                             ***
  18. ***                                                                        ***
  19. ***   LANGUAGE:                                                            ***
  20. ***     M68MASM for MS-DOS MC68332 assembly language relocatable module    ***
  21. ***                                                                        ***
  22. ***   SUMMARY OF CONTENTS:                                                 ***
  23. ***      <will be linked to start at $60000 for BCC>                       ***
  24. ***      System reset vector.                                              ***
  25. ***      Code segment size.                                                ***
  26. ***      User customization parameters.                                    ***
  27. ***                                                                        ***
  28. ***   NOTES:                                                               ***
  29. ***     1.  Source equivalent copy of 332Bug parameter area for Motorola   ***
  30. ***         FREEWARE Bulletin Board System (BBS) to produce object         ***
  31. ***         equivalent code.  See REVISION HISTORY below for version nbr.  ***
  32. ***     2.  This source code can be freely used at no cost/obligation,     ***
  33. ***         i.e. it is PUBLIC DOMAIN software.  Please report any errors/  ***
  34. ***         additions to the SYSOP of the Motorola FREEWARE BBS.           ***
  35. ***     3.  Parameters which reference linker symbols (XREF/XDEF) will     ***
  36. ***         not be defined until link time, so the obj. code listed here   ***
  37. ***         will not match the actual EPROM code.                          ***
  38. ***                                                                        ***
  39. *^****************************************************************************
  40. ***  INTERNAL PORTION OF THE MODULE HEADER                                 ***
  41. ******************************************************************************
  42. ***                                                                        ***
  43. ***   REVISION HISTORY (add changes to the top):                           ***
  44. ***                                                                        ***
  45. ***      DATE         AUTHOR               CHANGES                         ***
  46. ***   ----------  ---------------  -------------------------------------   ***
  47. ***    01/16/90   Peter S. Gilmour Initial version port to MS_DOS based    ***
  48. ***                                M68MASM from original source code.      ***
  49. ***                                Compatible with 332Bug version 1.01.    ***
  50. ***    05/02/90   Peter S. Gilmour Compatible with 332Bug version 1.02.    ***
  51. ***                                                                        ***
  52. ******************************************************************************
  53.  
  54. ***                                                                        ***
  55. ***   XDEFS:                                                               ***
  56. ***                                                                        ***
  57.          XDEF      ORIGIN              Start of program space
  58.          XDEF      CODESIZE            Size of program space in bytes
  59.          XDEF      CHECKSUM            Permit access by confidence test
  60. * Old CSn base addr reg. values
  61.          XDEF      .CSBAR0,.CSBAR1,.CSBAR2,.CSBAR3,.CSBAR4,.CSBAR5
  62.          XDEF      .CSBAR6,.CSBAR7,.CSBAR8,.CSBAR9,.CSBAR10
  63. * Old CSn base addr reg. values
  64.          XDEF      .CSOR0,.CSOR1,.CSOR2,.CSOR3,.CSOR4,.CSOR5
  65.          XDEF      .CSOR6,.CSOR7,.CSOR8,.CSOR9,.CSOR10
  66. * Common CSBOOT values
  67.          XDEF      .CSBARBT            Old/new CSBOOT base addr reg. value
  68.          XDEF      .CSORBT             Old/new CSBOOT option reg. value
  69. * New CSn base addr reg. values
  70.          XDEF      CSBAR0$,CSBAR1$,CSBAR2$,CSBAR3$,CSBAR4$,CSBAR5$
  71.          XDEF      CSBAR6$,CSBAR7$,CSBAR8$,CSBAR9$,CSBAR10$
  72. * New CSn base addr reg. values
  73.          XDEF      CSOR0$,CSOR1$,CSOR2$,CSOR3$,CSOR4$,CSOR5$
  74.          XDEF      CSOR6$,CSOR7$,CSOR8$,CSOR9$,CSOR10$
  75.  
  76.          XDEF      .RAMMCR             RAM Config. Reg. value
  77.          XDEF      .RAMBAR             RAM Base Addr. Reg. value
  78.          XDEF      .PICR               Periodic interrupt control reg. value
  79.          XDEF      .PITR               Periodic interrupt timer reg. value
  80.          XDEF      RB_SP               Rom Auto Boot SP location in ROM
  81.          XDEF      RB_PC               Rom Auto Boot PC location in ROM
  82.          XDEF      CONSCI              Console default SCI parameter table
  83.          XDEF      .PARMS              SCI parameter definition
  84.          XDEF      .BAUD               SCI baud rate value
  85.          XDEF      .PARITY             SCI parity value
  86.          XDEF      .DATA               SCI nbr. data bits value
  87.          XDEF      .STOP               SCI nbr. stop bits value
  88.          XDEF      .XON_ENB            SCI XON/XOFF enable value
  89.          XDEF      .XON                SCI XON value
  90.          XDEF      .XOFF               SCI XOFF value
  91.          XDEF      PWR_ON              Start of Power on branch vectors
  92.          XDEF      PWR_INI             MCU init. Power on branch vector
  93.          XDEF      PWR_TTL             Sign on title Power on branch vector
  94.          XDEF      PWR_TST             Self-test Power on branch vector
  95.          XDEF      PWR_GO              System Go Power on branch vector
  96.          XDEF      SYSPATCH            System patch area
  97.          XDEF      SIGNON              Offset to system sign on message text
  98. ***                                                                        ***
  99. ***   XREFS:                                                               ***
  100. ***                                                                        ***
  101.          XREF      CONFTST             Confidence test entry point
  102.          XREF      SYSINIT             Start of program (system init.)
  103.          XREF      INIT_CS             MCU initialization (chip selects, etc.
  104.          XREF      MEMPAGE             16 Megabyte page
  105. ***                                                                        ***
  106. ***   Local macros:                                                        ***
  107. ***                                                                        ***
  108. VECTOR   MACRO                         ! SETUP VECTOR SPACE
  109. SECTD    SET       0                   ! DEFINE DATA SECTION
  110. SECTP    SET       8                   ! DEFINE PROGRAM SECTION
  111.          SECTION   SECTP               ! PUT USER INTO PROG. SECTION
  112.          ENDM                          !
  113.  
  114. ***
  115. ***   Local equates:
  116. ***
  117. CR       EQU       $0D       ASCII carriage return
  118. LF       EQU       $0A       ASCII line feed
  119. SPACE    EQU       $20       ASCII space
  120.  
  121. *
  122. *  For M68332 BCC and PFB.
  123. *
  124. *  NOTE: Unused upper address lines are specified as 1's so ABSOLUTE SHORT
  125. *        addressing (sign extension) can be used.
  126. *
  127. SR_VAL    EQU      $2700               status register initial value.
  128.  
  129. RAM_BASE  EQU      $0                  BCC RAM base address
  130. RAM_SIZE  EQU      $10000              BCC RAM size (bytes)
  131. ROM1_BASE EQU      $60000              BCC EPROM base address
  132. ROM1_SIZE EQU      $20000              BCC EPROM size (bytes)
  133. IRAM_BASE EQU      $40000
  134. FPCP_BASE EQU      $FFFFE800           PFB MC68881/MC6882 base address
  135. *                                      .  (Floating Point Co-Processor)
  136. SIM       EQU      $FFFFFA00           BCC M68332 System Integration Module base addr
  137. RAMCR     EQU      $FFFFFB00           BCC M68332 RAM Control Module base address
  138. AUTO_BASE EQU      $FFFFF800           Autovector base address
  139.  
  140. LOCALRAM  EQU      RAM_BASE            base of local RAM
  141. SYSRAMSZ  EQU      $00004000           size of local RAM (for system use)
  142. LCLRAMMX  EQU      RAM_SIZE            max size of local RAM (for M68332 BCC)
  143. USRRAM    EQU      LOCALRAM+SYSRAMSZ   base of user RAM
  144. USRRAMSZ  EQU      LCLRAMMX-SYSRAMSZ   size of user RAM
  145. RAMSTART  EQU      LOCALRAM            alias for base of local RAM
  146.  
  147. LOCALROM  EQU      ROM1_BASE           base of local ROM (use PC rel refs!)
  148. LCLROMSZ  EQU      $00010000           size of local ROM used by 332Bug
  149. ROMUNPGM  EQU      $FF                 unprogrammed state of a byte of EPROM
  150. FILL.1    EQU      ROMUNPGM            fill value for 1 byte = BYTE
  151. FILL.2    EQU      FILL.1<<8+FILL.1    fill value for 2 bytes= WORD
  152. FILL.4    EQU      FILL.2<<16+FILL.2   fill value for 4 bytes= LONG WORD
  153.  
  154. RAM2_BASE EQU      LOCALRAM+LCLRAMMX   Next RAM base address
  155. ROM2_BASE EQU      ROM1_BASE+ROM1_SIZE Next ROM base address
  156.  
  157. VECTSIZ  EQU       $400                Vector table size
  158. USERLEN  EQU       $1000               user space reserved
  159. MEMINC   EQU       $4000               memory increment for 130's or EVM's
  160. STKLEN   EQU       MEMINC-USERLEN-VECTSIZ-4 size of bug/diag stack + static vars
  161.  
  162. *
  163. * Interrupt levels & vectors
  164. *
  165. ABORTLVL EQU       7                   abort level
  166. ABORTVEC EQU       31                  abort vector
  167. ACFAILVL EQU       7                   AC-Fail level
  168. ACFAILVC EQU       65                  AC-Fail vector
  169. TIMERLVL EQU       6                   timer level: M68332 periodic int. timer
  170. TIMERVEC EQU       66                  timer vector
  171.  
  172. *
  173. *  Setup Base Addresses:
  174. *    1. A31-A24 must= 0  (MC68332 only uses A0-A23; rest are unused!)
  175. *    2. A10-A0  must= 0  (for Base Address Register usage).
  176. *
  177. ADDRMASK EQU       $00FFF800           Address mask (24-bits, A10-A0= 0)
  178. RAM      EQU       RAM_BASE&ADDRMASK   Setup Base Addresses
  179. ROM      EQU       ROM1_BASE&ADDRMASK  Setup Base Addresses
  180. RAM2     EQU       RAM2_BASE&ADDRMASK  Setup Base Addresses
  181. ROM2     EQU       ROM2_BASE&ADDRMASK  Setup Base Addresses
  182. FPCP     EQU       FPCP_BASE&ADDRMASK  Setup Base Addresses
  183. IRAM     EQU       IRAM_BASE&ADDRMASK  Setup Base Addresses
  184. AVEC_7   EQU       AUTO_BASE&ADDRMASK  Setup Base Addresses
  185.  
  186. CSBAR_XX EQU       $0000               Reset (unused) value for CSBARn
  187. CSOR_XX  EQU       $0000               Reset (unused) value for CSORn
  188.  
  189. *
  190. * Option Register Equates (CSORBT, CSORn):
  191. *
  192. B2K      EQU       0                   2K    block size
  193. B8K      EQU       1                   8K    block size
  194. B16K     EQU       2                   16K   block size
  195. B64K     EQU       3                   64K   block size
  196. B128K    EQU       4                   128K  block size
  197. B256K    EQU       5                   256K  block size
  198. B512K    EQU       6                   512K  block size
  199. B1M      EQU       7                   1MB   block size
  200. ASYNC    EQU       $0000               Asynchronous mode
  201. SYNC     EQU       $8000               Synchronous  mode
  202. CS_UPPB  EQU       2*$2000             Upper byte
  203. CS_LOWB  EQU       1*$2000             Lower byte
  204. CS_BOTHB EQU       3*$2000             Both  bytes (upper or lower)
  205. CS_R     EQU       1*$800              Read
  206. CS_W     EQU       2*$800              Write
  207. CS_RW    EQU       3*$800              Read or write
  208. CS_AS    EQU       0*$400              Address Strobe (AS*)
  209. CS_DS    EQU       1*$400              Data    Strobe (DS*)
  210. CS_FAST  EQU       14                  Fast     termination DSACK*
  211. CS_EXT   EQU       15                  External termination DSACK*
  212. CS_WAIT  EQU       1*$40               Wait cycles for DSACK*
  213. CS_CSP   EQU       0*$10               CPU  space
  214. CS_USP   EQU       1*$10               User space
  215. CS_SSP   EQU       2*$10               Supervisor space
  216. CS_SUSP  EQU       3*$10               Supervisor/User space
  217. CS_LVL   EQU       1*$2                Interrupt priority level
  218. CS_AVEC  EQU       1                   Autovector enable
  219.  
  220.  
  221. * Select value for checksum below:
  222. *   - place "*" in front of the one you DON'T want assembled
  223. *
  224. *CHECKVAL EQU       FILL.2              Checksum value for debugging
  225. CHECKVAL EQU       $B930               Checksum value for finished product
  226. *                                      .   - must not be same as FILL.2!
  227. * The actual value of the checksum word is not known at the time
  228. * that this file is assembled or linked.  However, an "intelligent"
  229. * checksum method is used whereby the program tells the user what
  230. * the checksum should be if the checksum hasn't been programmed yet!
  231. * Make the change, re-make the program, and blow new EPROM.
  232. *
  233. * The checksum word consists of two bytes that are placed at offset
  234. * locations $0E-0F in the Bug EPROM and is used during execution of
  235. * the confidence check to validate the EPROM contents.
  236. *
  237.  
  238. ********************************
  239. **  Configuration Parameters  **
  240. ********************************
  241. *  DO NOT ALTER!  Must match with user documentation!
  242. *
  243.          VECTOR
  244. *
  245. ORIGIN   EQU       *
  246. PWR_SSP  DC.L      LOCALRAM+VECTSIZ+STKLEN Init. SSP = below user ram
  247. PWR_PC   DC.L      PWR_ON                  Init. PC  = power on branch vector
  248. **
  249. CODESIZE DC.L      ROM1_SIZE           Set Code Size (in bytes)
  250. CHECKALT DC.W      FILL.2              -- reserved -- (alternate checksum)
  251. CHECKSUM DC.W      CHECKVAL            Allocate space for checksum word
  252. *                                      . If CHECKVAL = FILL.2, then change
  253. *                                      .   value of CHECKALT location!
  254.  
  255. * NOTE: "/256" is used in the Chip Select Tables below to shift address bits
  256. *       A23-A11 to bit positions B15-B3 (23-15= 8 bits = 256) for use in the
  257. *       SIM Base Address Registers.
  258.  
  259. * Old Chip Select Table: (Rev. A BCC + Rev. A PFB)
  260. *
  261. .CSBAR0  DC.W      RAM/256+B64K        CS0  base & option register values
  262. .CSOR0   DC.W      0*CS_WAIT+CS_UPPB+CS_RW+CS_AS+CS_SUSP
  263. .CSBAR1  DC.W      RAM/256+B64K        CS1  base & option register values
  264. .CSOR1   DC.W      0*CS_WAIT+CS_LOWB+CS_RW+CS_AS+CS_SUSP
  265. .CSBAR2  DC.W      RAM2/256+B64K       CS2  base & option register values
  266. .CSOR2   DC.W      1*CS_WAIT+CS_BOTHB+CS_R+CS_AS+CS_SUSP
  267. .CSBAR3  DC.W      RAM2/256+B64K       CS3  base & option register values
  268. .CSOR3   DC.W      0*CS_WAIT+CS_LOWB+CS_W+CS_AS+CS_SUSP
  269. .CSBAR4  DC.W      ROM2/256+B128K      CS4  base & option register values
  270. .CSOR4   DC.W      1*CS_WAIT+CS_UPPB+CS_RW+CS_AS+CS_SUSP
  271. .CSBAR5  DC.W      ROM2/256+B128K      CS5  base & option register values
  272. .CSOR5   DC.W      1*CS_WAIT+CS_LOWB+CS_RW+CS_AS+CS_SUSP
  273. .CSBAR6  DC.W      FPCP/256+B2K        CS6  base & option register values
  274. .CSOR6   DC.W      CS_EXT+CS_BOTHB+CS_RW+CS_AS+CS_SUSP
  275. .CSBAR7  DC.W      CSBAR_XX            CS7  base & option register values
  276. .CSOR7   DC.W      CSOR_XX             .  -- unused --
  277. .CSBAR8  DC.W      AVEC_7/256          CS8  base & option register values
  278. .CSOR8   DC.W      0*CS_WAIT+CS_BOTHB+CS_R+CS_AS+CS_CSP+7*CS_LVL+CS_AVEC
  279. .CSBAR9  DC.W      CSBAR_XX            CS9  base & option register values
  280. .CSOR9   DC.W      CSOR_XX             .  -- unused --
  281. .CSBAR10 DC.W      RAM2/256+B64K       CS10 base & option register values
  282. .CSOR10  DC.W      0*CS_WAIT+CS_UPPB+CS_W+CS_AS+CS_SUSP
  283.  
  284. * Common Chip Select Table: (Rev. A BCC + Rev. A PFB) & (Rev. B BCC + Rev. B PFB)
  285. *
  286. .CSBARBT DC.W      ROM/256+B128K       CSBOOT base & option register values
  287. .CSORBT  DC.W      2*CS_WAIT+CS_BOTHB+CS_R+CS_AS+CS_SUSP
  288. *   - "2*CS_WAIT" = 2 wait cycles = AMD 27C1024-205LC 200 ns EPROM
  289. *     This EPROM is 2 wait cycles because it is always enabled, whereas the
  290. *     EPROM on the platform board (PFB) must first be enabled so it requires
  291. *     3 wait cycles!
  292.  
  293. * New Chip Select Table: (Rev. B BCC + Rev. B PFB)
  294. *
  295. CSBAR0$  DC.W      RAM/256+B64K        CS0  base & option register values
  296. CSOR0$   DC.W      CS_FAST+CS_UPPB+CS_W+CS_AS+CS_SUSP
  297. CSBAR1$  DC.W      RAM/256+B64K        CS1  base & option register values
  298. CSOR1$   DC.W      CS_FAST+CS_LOWB+CS_W+CS_AS+CS_SUSP
  299. CSBAR2$  DC.W      RAM/256+B64K        CS2  base & option register values
  300. CSOR2$   DC.W      CS_FAST+CS_BOTHB+CS_R+CS_AS+CS_SUSP
  301. CSBAR3$  DC.W      CSBAR_XX            CS3  base & option register values
  302. CSOR3$   DC.W      CSOR_XX             .  -- unused --
  303. CSBAR4$  DC.W      AVEC_7/256          CS4  base & option register values
  304. CSOR4$   DC.W      0*CS_WAIT+CS_BOTHB+CS_R+CS_AS+CS_CSP+7*CS_LVL+CS_AVEC
  305. CSBAR5$  DC.W      FPCP/256+B2K        CS5  base & option register values
  306. CSOR5$   DC.W      CS_EXT+CS_BOTHB+CS_RW+CS_AS+CS_SUSP
  307. CSBAR6$  DC.W      ROM2/256+B128K      CS6  base & option register values
  308. CSOR6$   DC.W      3*CS_WAIT+CS_LOWB+CS_RW+CS_AS+CS_SUSP
  309. CSBAR7$  DC.W      ROM2/256+B128K      CS7  base & option register values
  310. CSOR7$   DC.W      3*CS_WAIT+CS_UPPB+CS_RW+CS_AS+CS_SUSP
  311. CSBAR8$  DC.W      RAM2/256+B64K       CS8  base & option register values
  312. CSOR8$   DC.W      1*CS_WAIT+CS_BOTHB+CS_R+CS_AS+CS_SUSP
  313. CSBAR9$  DC.W      RAM2/256+B64K       CS9  base & option register values
  314. CSOR9$   DC.W      0*CS_WAIT+CS_LOWB+CS_W+CS_AS+CS_SUSP
  315. CSBAR10$ DC.W      RAM2/256+B64K       CS10 base & option register values
  316. CSOR10$  DC.W      0*CS_WAIT+CS_UPPB+CS_W+CS_AS+CS_SUSP
  317.  
  318.          DCB.B     4,FILL.1            <reserved>
  319.  
  320. * Standby RAM Module
  321. *
  322. .RAMMCR  DC.W      $FFFF               RAM Config. Reg. value
  323. .RAMBAR  DC.W      $FFFF               RAM Base Addr. Reg. value
  324. *  NOTE:  If Bit0 (RAMDS) of .RAMBAR is set, then Standby RAM Module is not
  325. *         programmed, otherwise these two values are read and placed in the
  326. *         corresponding registers to program it.  This allows the user to
  327. *         easily change configurations.
  328.  
  329. * Periodic Interrupt Timer
  330. *   - assumes 32.768 KHz clock
  331. *
  332. .PICR    DC.W      TIMERLVL<<8+TIMERVEC   Periodic int. control reg. value
  333. *                                         . Defines interrupt level & vector.
  334. .PITR    DC.W      $0102                  Periodic int. timing reg. value
  335. *                                         . Defines SYSCALL "tick" = 125 msec
  336.  
  337. * ROM Auto Boot Vectors
  338. RB_SP    DC.L      FILL.4              Allocate space for ROM BOOT SP and PC.
  339. RB_PC    DC.L      FILL.4!1            .  PC bit0= 1 disables ROM BOOT!
  340.    IFNE      4-(RB_PC-RB_SP)
  341.          FAIL      469 ROM BOOT SP/PC not adjacent anymore!
  342.    ENDC
  343.  
  344. * SCI Console Default Initialization Table (CONSCI)
  345. *
  346. CONSCI   DS        0                   * USE THIS FOR CONNECTION TO TERMINALS
  347. *
  348. ********  Each bit set in '.PARMS' below enables the 7 parameters   **********
  349. ********  that follow.  DO NOT ALTER THE VALUE OF '.PARAMS' below!  **********
  350. *
  351. .PARMS   DC.L      $1C0F
  352. *
  353. .BAUD    DC.W      9600                Baud rate (in decimal)
  354. .PARITY  DC.B      0                   Parity: $00= none, 'E'= even, 'O'= odd
  355. .DATA    DC.B      8                   Nbr. data bits:  7 or 8
  356. .STOP    DC.B      1                   Nbr. stop bits:  1 or 2
  357. .XON_ENB DC.B      $FF                 XON/XOFF enable:
  358. *                                      .    $FF= enabled, $00= disabled
  359. .XON     DC.B      $11                 XON  char: ^Q = $11
  360. .XOFF    DC.B      $13                 XOFF char: ^S = $13
  361. *
  362.  
  363.          DCB.B     4,FILL.1            <reserved>
  364.  
  365. * Power On Branch Vectors
  366. *  - There are no entry/exit restrictions for register usage here.
  367. *
  368. PWR_ON:
  369. PWR_INI  BRA.L     INIT_CS           Initialize chip selects, etc. for 68332
  370. *                                    .  - returns to PWR_TTL
  371. PWR_TTL  BRA.L     PWR_TST           Print sign on message title.
  372. *                                    .  - returns to PWR_TST
  373. *  NOTE:  PWR_TTL is not enabled yet.  Signon message actually gets printed
  374. *         in SYSINIT routine via TRAP 15 calls!  This may be changed in the
  375. *         future so simple SCI routines w/o stack usage can print messages
  376. *         until system has been verified (use address regs for return addrs).
  377. *
  378. PWR_TST  BRA.L     CONFTST           Perform confidence tests.
  379. *                                    .  - returns to PWR_GO
  380. PWR_GO   BRA.L     SYSINIT           Go start up the system.
  381. *                                    .  - never returns
  382.          DCB.W     4*3,FILL.2   Reserve space for 4 more BRA.L's (3 words each)
  383. PWR_END  EQU       *
  384.  
  385. * System Patch Area
  386. *
  387. SYSPATCH DCB.B     $B0,FILL.1   Reserve patch space ($170-* = $B0).
  388.  
  389. * Sign On Message Test String
  390. *
  391. SIGNON   DS.W      0
  392.          DC.B      SIGN$2-SIGN$1             Set msg byte count
  393. SIGN$1   DC.B      CR,LF,LF
  394. SIGN$3   DC.B      '332Bug Debugger/Diagnostics - Version  1.02'
  395. SIGN1SZ  EQU       *-SIGN$3                  # chars in line #1 = $2B= 43
  396.          DCB.B     36,SPACE                  Pad to end of line (79-43= 36)
  397.          DC.B      CR,LF
  398. SIGN$4   DC.B      ' (C) Copyright 1989, 1990 by Motorola Inc.'
  399. SIGN2SZ  EQU       *-SIGN$4                  # chars in line #2 = $2A= 42
  400. SIGN3SZ  EQU       ($200-(SIGNON-ORIGIN))-(*-SIGNON)  Extra space= $11 = 17
  401.          DCB.B     17,SPACE                  Pad to end of sigon space
  402. SIGN$2   EQU       *
  403.  
  404.     IFNE      $200-(*-ORIGIN)
  405.          FAIL      470 Param area must= $200 to match user documentation!
  406.     ENDC
  407.     IFNE      $08-(CODESIZE-ORIGIN)
  408.          FAIL      471 CODESIZE must= offset $08 to match user documentation!
  409.     ENDC
  410.     IFNE      $0E-(CHECKSUM-ORIGIN)
  411.          FAIL      472 CHECKSUM must= offset $0E to match user documentation!
  412.     ENDC
  413.     IFNE      $10-(.CSBAR0-ORIGIN)
  414.          FAIL      473 .CSBAR0 must= offset $10 to match user documentation!
  415.     ENDC
  416.     IFNE      $12-(.CSOR0-ORIGIN)
  417.          FAIL      474 .CSOR0 must= offset $12 to match user documentation!
  418.     ENDC
  419.     IFNE      $3C-(.CSBARBT-ORIGIN)
  420.          FAIL      475 .CSBARBT must= offset $3C to match user documentation!
  421.     ENDC
  422.     IFNE      $3E-(.CSORBT-ORIGIN)
  423.          FAIL      476 .CSORBT must= offset $3E to match user documentation!
  424.     ENDC
  425.     IFNE      $40-(CSBAR0$-ORIGIN)
  426.          FAIL      477 CSBAR0$ must= offset $40 to match user documentation!
  427.     ENDC
  428.     IFNE      $42-(CSOR0$-ORIGIN)
  429.          FAIL      478 CSOR0$ must= offset $42 to match user documentation!
  430.     ENDC
  431.     IFNE      $70-(.RAMMCR-ORIGIN)
  432.          FAIL      479 .RAMMCR must= offset $70 to match user documentation!
  433.     ENDC
  434.     IFNE      $72-(.RAMBAR-ORIGIN)
  435.          FAIL      480 .RAMBAR must= offset $72 to match user documentation!
  436.     ENDC
  437.     IFNE      $74-(.PICR-ORIGIN)
  438.          FAIL      481 .PICR must= offset $74 to match user documentation!
  439.     ENDC
  440.     IFNE      $76-(.PITR-ORIGIN)
  441.          FAIL      482 .PITR must= offset $76 to match user documentation!
  442.     ENDC
  443.     IFNE      $78-(RB_SP-ORIGIN)
  444.          FAIL      483 RB_SP must= offset $78 to match user documentation!
  445.     ENDC
  446.     IFNE      $7C-(RB_PC-ORIGIN)
  447.          FAIL      484 RB_PC must= offset $7C to match user documentation!
  448.     ENDC
  449.     IFNE      $80-(.PARMS-ORIGIN)
  450.          FAIL      485 .PARMS must= offset $80 to match user documentation!
  451.     ENDC
  452.     IFNE      $84-(.BAUD-ORIGIN)
  453.          FAIL      486 .BAUD must= offset $84 to match user documentation!
  454.     ENDC
  455.     IFNE      $86-(.PARITY-ORIGIN)
  456.          FAIL      487 .PARITY must= offset $86 to match user documentation!
  457.     ENDC
  458.     IFNE      $87-(.DATA-ORIGIN)
  459.          FAIL      488 .DATA must= offset $87 to match user documentation!
  460.     ENDC
  461.     IFNE      $88-(.STOP-ORIGIN)
  462.          FAIL      489 .STOP must= offset $88 to match user documentation!
  463.     ENDC
  464.     IFNE      $89-(.XON_ENB-ORIGIN)
  465.          FAIL      490 .XON_ENB must= offset $89 to match user documentation!
  466.     ENDC
  467.     IFNE      $8A-(.XON-ORIGIN)
  468.          FAIL      491 .XON must= offset $8A to match user documentation!
  469.     ENDC
  470.     IFNE      $8B-(.XOFF-ORIGIN)
  471.          FAIL      492 .XOFF must= offset $8B to match user documentation!
  472.     ENDC
  473.     IFNE      $90-(PWR_ON-ORIGIN)
  474.          FAIL      493 PWR_ON must= offset $90 to match user documentation!
  475.     ENDC
  476.     IFNE      $90-(PWR_INI-ORIGIN)
  477.          FAIL      494 PWR_INI must= offset $90 to match user documentation!
  478.     ENDC
  479.     IFNE      $96-(PWR_TTL-ORIGIN)
  480.          FAIL      495 PWR_TTL must= offset $96 to match user documentation!
  481.     ENDC
  482.     IFNE      $9C-(PWR_TST-ORIGIN)
  483.          FAIL      496 PWR_TST must= offset $9C to match user documentation!
  484.     ENDC
  485.     IFNE      $A2-(PWR_GO-ORIGIN)
  486.          FAIL      497 PWR_GO must= offset $A2 to match user documentation!
  487.     ENDC
  488.     IFNE      $C0-(SYSPATCH-ORIGIN)
  489.          FAIL      498 SYSPATCH must= $C0 to match user documentation!
  490.     ENDC
  491.     IFNE      $170-(SIGNON-ORIGIN)
  492.          FAIL      499 SIGNON must= $170 to match user documentation!
  493.     ENDC
  494.  
  495.          END
  496.